From: Igor Druzhinin Date: Tue, 4 Feb 2020 21:49:37 +0000 (+0000) Subject: x86/time: report correct frequency of Xen PV clocksource X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~691 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c52bd545de461127f3ca67c48e8fef7145402035;p=xen.git x86/time: report correct frequency of Xen PV clocksource The value of the counter represents the number of nanoseconds since host boot. That means the correct frequency is always 1GHz. This inconsistency caused time to go slower in PV shim on most platforms. Signed-off-by: Igor Druzhinin Reviewed-by: Roger Pau Monné --- diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 724321684f..1c86d49a0d 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -588,9 +588,7 @@ static int64_t __init init_xen_timer(struct platform_timesource *pts) if ( !xen_guest ) return 0; - pts->frequency = xen_timer_cpu_frequency(); - - return pts->frequency; + return xen_timer_cpu_frequency(); } static always_inline uint64_t read_cycle(const struct vcpu_time_info *info, @@ -644,6 +642,7 @@ static struct platform_timesource __initdata plt_xen_timer = { .id = "xen", .name = "XEN PV CLOCK", + .frequency = 1000000000ULL, .read_counter = read_xen_timer, .init = init_xen_timer, .resume = resume_xen_timer,